The performance of some systems is dictated by the parameter values selected for the components of that system. For example, in the case of a read channel (which accesses data stored in a hard disk system and performs error correction on the read data), some example parameters include the x taps of a Finite Impulse Response (FIR) filter, the y taps of a target, the z branch levels of a Viterbi decoder, etc. Typically, these parameters are programmed into a newly manufactured system at a manufacturing or test facility before being sold. For example, each newly manufactured system is tested over multiple iterations and appropriate values for system parameters are selected and programmed for that device, sometimes with different zones or regions of the disk having different parameters.
FIG. 1 shows an example of a full (numerical) gradient descent technique to adjust system parameters. Using this technique, a hard disk or other system being programmed starts with an initial set of parameters, such as system parameters 0 (100). Some finite number of variations of the initial parameters values is tested. For example, system parameters 1 (101) may increase or decrease one subset of parameters, system parameters 2 (102) another subset, etc. In the example shown here, this means programming the system with and testing system parameters 1-6 (101-106). The variation with the best metric is selected as the next set of parameters to use and the process repeats. In this example, system parameters 3 (103) had the best performance and is selected. Conceptually, the initial set of parameters can be thought of as the center of a wheel and each of the variants is a “spoke” of the wheel. The best “spoke” or variation is selected to be the next center and the process repeats. For example, after selecting system parameters 3 (103) a new iteration is performed by testing system parameters 7-12 (107-112). In addition to being slow and/or computationally intensive, full gradient descent does not always result in the best Bit Error Rate (BER).
Another technique is described in the paper “Near minimum-BER all adaptive partial response equalization for high density recording systems” by J. Riani, A. Immink, S. Beneden, and J. Bergmans (IEEE global communications conference (GLOBECOM), November 2006). In that paper, Riani et al. present a cost function (as well as its associated derivatives) for a bit error rate of a system. This is faster than the full gradient technique shown in FIG. 1 (e.g., can go directly from system parameters 0 to system parameters 3 in FIG. 1 without trying out system parameters 1-2 and 4-6). The formulation of this cost function, however, assumes a Gaussian noise source. This assumption is not valid in some real-life systems and performs poorly (at least empirically) when non-Gaussian noise is present. It would be desirable to develop new techniques for selecting or otherwise determining system parameters that are less computationally intensive and/or have more general or broad application (e.g., not limited to Gaussian noise) than some other techniques.